﻿//  Copyright 2020 Google Inc. All Rights Reserved.
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.

using System;

namespace NtApiDotNet.Win32.Device
{
    /// <summary>
    /// Class to hold known bus type GUIDs.
    /// </summary>
    public static class DeviceBusTypeGuids
    {
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
        public static Guid GUID_BUS_TYPE_INTERNAL = new Guid(0x1530ea73, 0x086b, 0x11d1, 0xa0, 0x9f, 0x00, 0xc0, 0x4f, 0xc3, 0x40, 0xb1);
        public static Guid GUID_BUS_TYPE_PCMCIA = new Guid(0x09343630, 0xaf9f, 0x11d0, 0x92, 0xE9, 0x00, 0x00, 0xf8, 0x1e, 0x1b, 0x30);
        public static Guid GUID_BUS_TYPE_PCI = new Guid(0xc8ebdfb0, 0xb510, 0x11d0, 0x80, 0xe5, 0x00, 0xa0, 0xc9, 0x25, 0x42, 0xe3);
        public static Guid GUID_BUS_TYPE_ISAPNP = new Guid(0xe676f854, 0xd87d, 0x11d0, 0x92, 0xb2, 0x00, 0xa0, 0xc9, 0x05, 0x5f, 0xc5);
        public static Guid GUID_BUS_TYPE_EISA = new Guid(0xddc35509, 0xf3fc, 0x11d0, 0xa5, 0x37, 0x00, 0x00, 0xf8, 0x75, 0x3e, 0xd1);
        public static Guid GUID_BUS_TYPE_MCA = new Guid(0x1c75997a, 0xdc33, 0x11d0, 0x92, 0xb2, 0x00, 0xa0, 0xc9, 0x05, 0x5f, 0xc5);
        public static Guid GUID_BUS_TYPE_SERENUM = new Guid(0x77114a87, 0x8944, 0x11d1, 0xbd, 0x90, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0x2d);
        public static Guid GUID_BUS_TYPE_USB = new Guid(0x9d7debbc, 0xc85d, 0x11d1, 0x9e, 0xb4, 0x00, 0x60, 0x08, 0xc3, 0xa1, 0x9a);
        public static Guid GUID_BUS_TYPE_LPTENUM = new Guid(0xc4ca1000, 0x2ddc, 0x11d5, 0xa1, 0x7a, 0x00, 0xc0, 0x4f, 0x60, 0x52, 0x4d);
        public static Guid GUID_BUS_TYPE_USBPRINT = new Guid(0x441ee000, 0x4342, 0x11d5, 0xa1, 0x84, 0x00, 0xc0, 0x4f, 0x60, 0x52, 0x4d);
        public static Guid GUID_BUS_TYPE_DOT4PRT = new Guid(0x441ee001, 0x4342, 0x11d5, 0xa1, 0x84, 0x00, 0xc0, 0x4f, 0x60, 0x52, 0x4d);
        public static Guid GUID_BUS_TYPE_1394 = new Guid(0xf74e73eb, 0x9ac5, 0x45eb, 0xbe, 0x4d, 0x77, 0x2c, 0xc7, 0x1d, 0xdf, 0xb3);
        public static Guid GUID_BUS_TYPE_HID = new Guid(0xeeaf37d0, 0x1963, 0x47c4, 0xaa, 0x48, 0x72, 0x47, 0x6d, 0xb7, 0xcf, 0x49);
        public static Guid GUID_BUS_TYPE_AVC = new Guid(0xc06ff265, 0xae09, 0x48f0, 0x81, 0x2c, 0x16, 0x75, 0x3d, 0x7c, 0xba, 0x83);
        public static Guid GUID_BUS_TYPE_IRDA = new Guid(0x7ae17dc1, 0xc944, 0x44d6, 0x88, 0x1f, 0x4c, 0x2e, 0x61, 0x05, 0x3b, 0xc1);
        public static Guid GUID_BUS_TYPE_SD = new Guid(0xe700cc04, 0x4036, 0x4e89, 0x95, 0x79, 0x89, 0xeb, 0xf4, 0x5f, 0x00, 0xcd);
        public static Guid GUID_BUS_TYPE_ACPI = new Guid(0xd7b46895, 0x001a, 0x4942, 0x89, 0x1f, 0xa7, 0xd4, 0x66, 0x10, 0xa8, 0x43);
        public static Guid GUID_BUS_TYPE_SW_DEVICE = new Guid(0x06d10322, 0x7de0, 0x4cef, 0x8e, 0x25, 0x19, 0x7d, 0x0e, 0x74, 0x42, 0xe2);
        public static Guid GUID_BUS_TYPE_SCM = new Guid(0x375a5912, 0x804c, 0x45aa, 0xbd, 0xc2, 0xfd, 0xd2, 0x5a, 0x1d, 0x95, 0x12);
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
    }
}
